|
Расположение в меню |
---|
Sketch → Ограничения эскиза → Ограничение касательности |
Верстаки |
Sketcher |
Быстрые клавиши |
T |
Представлено в версии |
- |
См. также |
Зафиксировать точку на объекте |
Ограничение касательности делает две кривые касающимися друг друга. Линии полагаются бесконечными, а дуги как полные окружности или эллипсы. Ограничение также может соединять две кривые, заставляя их идти по касательной в точке соединения, делая переход гладким.
See also: Drawing aids.
The two edges are made tangent. If one of the edges is a conic, a Point object that has a Point on object constraint with both (extended) edges is added.
Не рекомендуется реконструировать точку касания созданием точки и установкой принадлежности её обоим кривым. Это будет работать, но конвергенция будет значительно медленнее, сложнее, и потребует вдвое больше итераций чем в норме. Используйте другие режимы этого ограничения, если нужна точка касания.
The endpoints are made coincident, and the angle between the edges at that point is set to 180° (smooth joint) or 0° (sharp joint), depending on the placement of the edges before the constraint is applied.
В этом режиме конечная точка одной кривой ограничивается лежать на другой кривой так, чтобы обе кривые были касательными в этой точке. Этот режим применяется, когда выделены кривая и конечная точка другой кривой.
В этом режиме две кривые делаются касательными и отслеживается точка касания. Этот режим применяется, когда выделены две кривые и точка.
В сравнении с прямой касательностью, это ограничение медленнее, поскольку привлекается большее число степеней свободы, но если нужна точка касания, это рекомендованный режим, поскольку он предлагает лучшую сходимость в сравнении к прямому касанию + точке на двух кривых.
The two lines are made collinear.
Ограничение касательности может создаваться из макросов и из консоли Python следующим образом:
# direct tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,icurve2))
# point-to-point tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2,pointpos2))
# point-to-curve tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2))
# tangent-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))
Где:
Sketch
это объект эскизаicurve1
, icurve2
это два целых идентификатора кривых, которые станут касательными. Целые это индексы в эскизе (значения, возвращаемые Sketch.addGeometry
).pointpos1
, pointpos2
должны быть 1 для начальной и 2 для конечной точки.geoidpoint
и pointpos
в TangentViaPoint
это индексы, указывающие точку касания.На странице Программирование в Sketcher объясняются значения, которые можно использовать для incurve1
, incurve2
, pointpos1
, pointpos2
, geoidpoint
и pointpos
а также содержатся дополнительные примеры того, как создавать ограничения из сценариев Python.